package com.erp.programmer.controller;

import com.erp.programmer.bean.CodeMsg;
import com.erp.programmer.dto.SellCompanyDto;
import com.erp.programmer.dto.PageDto;
import com.erp.programmer.dto.ResponseDto;
import com.erp.programmer.dto.SellCompanyDto;
import com.erp.programmer.service.ISellCompanyService;
import com.erp.programmer.utils.CommonUtil;
import com.erp.programmer.utils.ValidateEntityUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * @Author: Takagi3
 * @QQ: 870089046
 * @VX: HandsomeMY_
 * @Date: create in 2021/5/23 20:08
 */
@RequestMapping("/sell_company")
@RestController
@CrossOrigin
public class SellCompanyController {

    @Autowired
    private ISellCompanyService iSellCompanyService;


/*    @PostMapping("/add")
    public ResponseDto<List<SellCompanyDto>> add(@RequestBody SellCompanyDto SellCompanyDto){

        // 1.字段验证
        //进行统一表单验证
        CodeMsg validate = ValidateEntityUtil.validate(SellCompanyDto);
        if(!validate.getCode().equals(CodeMsg.SUCCESS.getCode())){
            return ResponseDto.errorByMsg(validate);
        }

        return iSellCompanyService.add(SellCompanyDto);

    }

    @PostMapping("/delete")
    public ResponseDto<List<SellCompanyDto>> delete(@RequestBody SellCompanyDto SellCompanyDto){
        // 1.字段验证
        //进行统一表单验证
        CodeMsg validate = ValidateEntityUtil.validate(SellCompanyDto);
        if(!validate.getCode().equals(CodeMsg.SUCCESS.getCode())){
            return ResponseDto.errorByMsg(validate);
        }

        return iSellCompanyService.delete(SellCompanyDto);
    }

    @PostMapping("/edit")
    public ResponseDto<List<SellCompanyDto>> edit(@RequestBody SellCompanyDto SellCompanyDto){
        // 1.字段验证
        //进行统一表单验证
        CodeMsg validate = ValidateEntityUtil.validate(SellCompanyDto);
        if(!validate.getCode().equals(CodeMsg.SUCCESS.getCode())){
            return ResponseDto.errorByMsg(validate);
        }

        return iSellCompanyService.edit(SellCompanyDto);
    }

    @PostMapping("/search")
    public ResponseDto<List<SellCompanyDto>> search(@RequestBody SellCompanyDto SellCompanyDto){

        return iSellCompanyService.search(SellCompanyDto);
    }*/
    /**
     * 分页
     * 搜索获取全部卖方公司信息
     */
    @PostMapping("/get_data")
    public ResponseDto<PageDto<SellCompanyDto>> getAll(@RequestBody PageDto<SellCompanyDto> pageDto) {

        return iSellCompanyService.getAll(pageDto);
    }
    /**
     * 分页
     *保存、修改卖方公司信息
     */
    @PostMapping("/save")
    public ResponseDto<PageDto<SellCompanyDto>> saveSellCompany(@RequestBody SellCompanyDto sellCompanyDto) {
        //非空判断
        if (sellCompanyDto == null) {
            return ResponseDto.errorByMsg(CodeMsg.DATA_ERROR);
        }
        //进行统一表单验证
        CodeMsg validate = ValidateEntityUtil.validate(sellCompanyDto);
        if(!validate.getCode().equals(CodeMsg.SUCCESS.getCode())){
            return ResponseDto.errorByMsg(validate);
        }

        return iSellCompanyService.saveSellCompany(sellCompanyDto);

    }


    /**
     * 分页
     *删除客户卖方信息
     */
    @PostMapping("/delete")
    public ResponseDto<PageDto<SellCompanyDto>> deleteSellCompany(@RequestBody SellCompanyDto sellCompanyDto) {

        if (sellCompanyDto == null || CommonUtil.isEmpty(sellCompanyDto.getId())) {
            return ResponseDto.errorByMsg(CodeMsg.DATA_ERROR);
        }
        return iSellCompanyService.deleteSellCompany(sellCompanyDto);

    }

}
